1. Field of the Invention
The present invention relates to a data transmission method and a terminal used for the data transmission method, and more particularly, a data transmission method and a terminal used for transmitting data from a server to plural terminals via a network.
2. Description of the Related Art
In communicating in a conventional network using, for example, Ethernet (Registered Trademark), a server transmits data requested by a terminal in a given network in response to a transmission request from the terminal. In a case where plural terminals exist in a given network, resources such as communication paths are shared by the terminals. For example, the resources may be shared according to time division so that the terminal can communicate without obstructing one another.
The bandwidth of the network is calculated and determined according to the amount of data exchanged over the network. Furthermore, as for the types of exchanged data, a large part of the data is typically relatively small size data such as data containing documents and still images. Accordingly, the network is configured to match these communication conditions.
However, in recent years and continuing, performance of terminals is becoming significantly higher and more large size data such as real time image data and audio data are being exchanged. Such improvements can be used for transmitting real time image data/audio data in a network having plural LANs (Local Area Network) connected by a WAN (Wide Area Network). As one example, a company having branches in plural remote areas can transmit data (image data/audio data) containing a salutation of the company's president throughout the terminals of each branch in real time.
A technology for providing an efficient network is desired so that terminals in the network can receive large size real time data without experiencing service shutdown or serious delay.
FIG. 1 is a schematic diagram showing an exemplary configuration for describing a conventional client/server type data broadcasting method. In FIG. 1, a router 11 of a LAN of a main office is connected to a server 10 and a WAN 20. The WAN 20 is also connected to a router 12 of the Osaka branch, a router 13 of the Sapporo branch, and a router 14 of the Fukuoka branch.
For example, the LAN of the Osaka branch is configured having the router 12 connected to switching hubs 15, 16, and 17. Each switching hub 15-17 is connected to plural terminals. The LANs of the main office and other branches are also configured in the same manner.
In typical client/server communications, a terminal (client) of each branch sends a request for data transmission by transmitting packets indicating the desire for data transmission to the server 10 assuming the position of transmitting the data. The server 10, upon receiving the data transmission request, begins to transmit the data to each terminal.
FIG. 2 is a schematic diagram showing a network configuration for describing a conventional data transmission method using IP multicast. In FIG. 2, a router 31 of a LAN of a main office is connected to a server 30 and a WAN 20. The WAN 20 is also connected to a router 32 of the Osaka branch, a router 33 of the Sapporo branch, and a router 34 of the Fukuoka branch.
For example, the LAN of the Osaka branch is configured having the router 32 connected to switching hubs 35, 36, and 37. Each switching hub 35-37 is connected to plural terminals. The LANs of the main office and other branches are also configured in the same manner.
In using IP multicast technology, a destination IP address is designated as a multicast address upon transmitting data from the server 30 to plural specific terminals. A Class D address is used as the multicast address. One multicast address represents a single host group (a group comprising plural terminals). For example, in the Osaka branch shown in FIG. 2, all the terminals connected to the switching hubs 35, 36, 37 form a single host group.
Multicast packets are basically transmitted to every host in the network. Each host (recipient host) receiving the multicast packets determines whether it (recipient host) is included in a host group(s) designated by the multicast packets and selects packets corresponding to the recipient host.
FIG. 3 is a schematic diagram showing a network configuration for describing a conventional peer-to-peer type data transmission method. In FIG. 3, a router 41 of a LAN of a main office is connected to a server 40 and a WAN 20. The WAN 20 is also connected to a router 42 of the Osaka branch, a router 43 of the Sapporo branch, and a router 44 of the Fukuoka branch.
For example, the LAN of the Osaka branch is configured having the router 42 connected to switching hubs 45, 46, and 47. Each switching hub 45-47 is connected to plural terminals. The LANs of the main office and other branches are also configured in the same manner.
In using a simple peer-to-peer technology as shown in FIG. 3, regardless of the physical arrangement of the LANs, packets are transferred among terminals grouped in predetermined units (e.g., segments) in an order beginning from the terminal which first receives the packets, as indicated with broken line arrows (1)-(5).
As a method of realizing multicast communications, Japanese Laid-Open Patent Application No. 2003-8642 teaches a technology where each terminal performs carrier sensing after a predetermined delay time.
Furthermore, Japanese Laid-Open Patent Application No. 6-244806 teaches a technology that identifies which slave terminal has malfunctioned by referring to an echo-back status of data flowing in a communication path connecting a host terminal to plural slave terminals.
When transmitting real time data such as image data and audio data to each terminal by using the conventional client/server type data, the transmission data easily exceed available bandwidth of the network due to the large size of the transmission data. This causes various problems to occur (e.g., shut down of service, serious delay, frequent discontinuation of real time data) and prevents satisfactory communication.
Although there is a method of solving such problems by increasing the bandwidth of the channels in the LAN or channels of the WAN, such an increase leads to an increase of cost. It is unsuitable to make such an investment in a case where real time technology is used only a few times a year, such as the above-described case of broadcasting a salutation of the company's president in real time. Furthermore, even in a case where real time data communications are not conducted frequently, there are cases where it is important to transmit the data in real time. Therefore, it is desired to prevent a large increase of cost.
Furthermore, although it may be beneficial to transmit data by using broadcast packets in a case where the data are to be used by every terminal, the transmission of data using broadcast packets can cause a serious drop of communications efficiency for a terminal not requiring the transmitted data.
Furthermore, since multicast packets are transmitted to host groups in a case of conducting data transmission by using conventional IP multicast technology, each resource (e.g., the routers 31-34, the server 30, the terminals, and software thereof in FIG. 2) is to be compatible to the multicast technology. Accordingly, in building the infrastructure of the network, facilities/apparatuses not compatible with multicast technology are to be replaced with those compatible with multicast technology. Therefore, it is unsuitable to make such an investment in a case where real time technology is used only a few times a year, such as the above-described case of broadcasting a salutation of the company's president in real time.
Furthermore, it may be possible to reduce access to the channels of the most commonly shared WAN 20 by preparing a streaming server in the LANs of each branch for temporarily storing image/audio data transmitted from the main office and relaying the stored data, so that each terminal of each branch can access the streaming server. However, in a case where there is a large number of client terminals, data cannot be satisfactorily transmitted when the amount of transmission data [(image data+audio data)×number of client terminals] exceeds the bandwidth provided in the LANs.
In the conventional peer-to-peer type data transmission method, it may be possible to prevent packets from concentrating at the connecting points between the routers 11-14 and the WAN 20 as shown in FIG. 1, for example. However, in a case of receiving real time data for a long period, the amount of data flowing in the network parts shared between the switching hubs and the routers may increase as transfer of data is repeated.